A typical data storage system includes one or more data storage disks coaxially mounted on a hub of a spindle motor. The spindle motor rotates the disks at speeds typically on the order of several thousand revolutions-per-minute. Digital information, representing various types of data, is typically written to and read from the data storage disks by one or more transducers, or read/write heads, which are mounted to an actuator and are passed over the surface of the rapidly rotating disks.
The actuator typically includes a plurality of outwardly extending actuator arms with one or more transducers being mounted resiliently or rigidly on the extreme end of the actuator arms. The actuator arms are interleaved into and out of the stack of rotating disks, typically by means of a coil assembly mounted to the actuator. The coil assembly generally interacts with a permanent magnet structure, and the application of current to the coil in one polarity causes the actuator arms and transducers to shift in one direction, while current of the opposite polarity shifts the actuator arms and transducers in an opposite direction.
In a typical digital data storage system, digital data is stored in the form of magnetic transitions on a series of concentric, closely spaced tracks comprising the surface of the magnetizable rigid data storage disks. The tracks are generally divided into a plurality of sectors, with each sector comprising a number of information fields. One of the information fields is typically designated for storing data, while other fields contain sector identification and synchronization information, for example. Data is transferred to, and retrieved from, specified track and sector locations by the transducers being shifted from track to track, typically under the control of a controller. The transducer assembly typically includes a single transducer element used to both write data to the disks and read data from the disks. Other transducer configurations incorporate a read element and a write element.
Writing data to a data storage disk generally involves passing a current through the write element of the transducer assembly to produce magnetic lines of flux which magnetize a specific location of the disk surface. Reading data from a specified disk location is typically accomplished by a read element of the transducer assembly sensing the magnetic field or flux lines emanating from the magnetized locations of the disk. As the read element passes over the rotating disk surface, the interaction between the read element and the magnetized locations on the disk surface results in the production of electrical pulses in the read element. The electrical pulses represent transitions in the magnetic field.
Accurately positioning the transducers over the appropriate track and sector location is generally of critical importance, as any appreciable degree of actuator or transducer shifting may result in read and/or write errors of varying severity. Further, physical defects in the magnetic surface of the disk often result in an inability to read data previously written to the affected region of the disk, and often results in an unrecoverable loss of data.
Data storage systems typically employ hardware and software dedicated to detecting and correcting errors arising when reading data from a data storage disk. Errors detected while data is being read from the disk are generally categorized as soft read errors and hard read errors. Soft read errors are generally understood in the art as errors which are capable of being corrected by a data recovery procedure without adversely effecting the operation of the data storage system or the computer system to which the data storage system is coupled. Soft read errors are often imperceptible to the user of the computer system. An uncorrectable soft read error is generally termed a hard read error. The inability of the data storage system to locate specific data on the disk is also regarded as a hard read error. Hard errors are generally associated with a permanent loss of user data that was previously written to the disk. It is thus desirable to implement a data recovery strategy to avoid such hard read errors.
A data recovery procedure is generally executed by the data storage system upon detection of a read error that could not otherwise be corrected using limited error correction codes (ECC) which are typically encoded as part of the affected data. It is generally understood that the embedded error correction codes enable the data storage system to correct only relatively minor or non-complex read errors. As illustrated in FIG. 4, a conventional data recovery procedure 21 typically comprises a predefined set of data recovery routines 29. Each data recovery routine typically performs a series of operations or processing steps directed to correcting the read error. The data recovery routines are performed serially, or in ordered succession, in an attempt to recover the data affected by the soft read error. U.S. Pat. Nos. 5,189,566 and 4,516,165, held by the Assignee of the present application and incorporated herein by reference, disclose several procedures for recovering data subject to various types of read errors. These and other known data recovery procedures, when invoked, typically attempt to remedy soft read errors by sequentially performing a fixed number of data recovery steps or routines without regard to the nature of the read error encountered or the type of data subjected to the recovery procedure.
By way of example, as illustrated in FIG. 4 and discussed generally in U.S. Pat. No. 5,189,566, a data recovery routine-A 31 is initially performed when the data recovery procedure 21 is invoked. If routine-A 31 fails to remedy the read error, routine-B 33 is performed. Routine-C 35 is then initiated upon the failure of routine-B 33 to correct the read error, with subsequent data recovery routines being sequentially performed until a data read is successfully performed or the sequential list of data recovery routines comprising the data recovery procedure 21 is exhausted without having rectified the read error. Failure of the data recovery routines 29 to correct a read error results in a hard read error condition in which the affected data is typically unrecoverable by the user of the data storage system. Such hard read errors may ultimately be recoverable, but only after returning the data storage system to a factory for repair, or by a system technician executing one or more time-consuming, specialized diagnostic procedures.
The overall performance of a data recovery procedure is generally understood as a measure of the speed at which the data recovery procedure operates and the effectiveness of the recovery procedure to correct a read error. Although it is desirable that a data recovery procedure correct read errors both quickly and effectively, the time allotted for performing a data recovery procedure is typically limited in order to avoid any adverse interruption in the operation of a computer system to which the data storage system is coupled. Such maximum time limitations are generally specified by the computer system manufacturer and monitored by the host computer system. An increase in the speed at which a data recovery procedure operates generally has the adverse result of reducing the overall effectiveness of the recovery procedure in order to guarantee completion of the procedure within a specified period of time. Similarly, a higher level of data recovery effectiveness generally provides a higher degree of data integrity, but results in decreased processing speeds.
In order to guarantee completion of a data recovery procedure within a specified time period, the number of recovery operations and complexity of the recovery procedure must typically be reduced, thereby resulting in a decrease in data recovery effectiveness. Yet, the maximum allowable hard read error rates specified by the purchasers of data storage systems, typically computer system manufacturers, continue to become more stringent, often requiring more and complex procedures to rectify read errors. Manufacturers of data storage systems are thus finding it difficult to meet both speed and recovery effectiveness requirements for customers specifying increasingly shorter data recovery time periods.
The type of information stored in data storage systems, as well as the processing environment, typically varies widely among the users of computer and data storage systems. Data recovery needs, consequently, are generally diverse as well. By way of example, the accuracy and reliability of transactional data is of critical importance in the finance and banking marketplace, while the overall processing speed of a data recovery procedure is generally of secondary importance. Banking and savings institutions, for example, typically require that all electronic transactions be performed with a high degree of accuracy and reliability. Telephonic transfer of funds, for example, must be accomplished without error to ensure that the specified amount of transfer and identity of the transferor and transferee accounts be accurate. A data storage system manufacturer must typically develop an appropriate data recovery strategy to ensure a high level of data integrity at the expense of processing efficiency. For customer environments in which data integrity is of critical importance, a data storage system manufacturer will generally design and manufacture a data storage system that provides a highly effective, but relatively slow, data recovery capability.
Other customers and markets may require a data system manufacturer to develop data storage systems and data recovery procedures designed for operation in environments in which data transfer and read error correction speed is of primary concern. A video file server, for example, may comprise one or more data storage disks onto which digitized audio and video information is stored for future reception and presentation by an end-user. Occasional read errors may result in a minor degradation in the video or audio presentation, but may be imperceptible to the observing end-user. A few unrecoverable data bits from a disk containing digital audio, for example, may not be perceptible to the human ear. Any substantial delay in the presentation of either the audio or video program during playback, however, will be readily noticeable, either as a freezing of the video presentation, or as signal dropout during the audio presentation. In such an operating environment, the processing speed of the data storage system and data recovery procedure is of critical importance, while the efficacy of the data recovery procedure is generally of secondary importance. An appropriate data recovery procedure for such an environment should provide a nominal level of recovery effectiveness at a guaranteed processing speed in order to avoid any undesirable delay in the transfer of data from the data storage system.
It can be appreciated, that in a high-volume, cost-sensitive manufacturing environment, the production of specially designed and manufactured data storage systems having data recovery capabilities usable only within specific markets generally results in increased production costs, complicates inventory procedures, and often results in over-stocking of one or more data storage system models needed to anticipate changes in sales within a spectrum of marketplaces. Moreover, the manufacturers of data storage systems are generally finding it increasingly difficult to meet both the speed and data recovery effectiveness requirements specified by customers having varying data storage needs and operating environments.